package com.tbvtc.agriculturalcreditchainserver2025.entity.websocket;


import com.tbvtc.agriculturalcreditchainserver2025.enumeration.ChatType;
import com.tbvtc.agriculturalcreditchainserver2025.enumeration.MessageType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * WebSocket消息实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WebSocketMessage {
    /**
     * 消息聊天类型
     */
    private ChatType chatType;
    /**
     * 消息类型
     */
    private MessageType messageType;
    //转发一堆内容使用集合
    /**
     * 消息内容
     */
    private List<String> content;
    /**
     * 消息发送者ID
     */
    private String senderId;
    /**
     * 消息接收者ID
     */
    private List<String> receiverId; // 仅当类型为 SINGLE_SEND 时有效
    /**
     * 消息群组ID
     */
    private String groupId;
    /**
     * 消息元数据 如文件名、文件大小、文件类型等
     */
    private List<File> metadata; // 其他元数据 如文件名、文件大小、文件类型等
    /**
     * 文件路径
     */
    private List<String> filePath;
    /**
     * 语音长度
     */
    private Integer voiceLength;


}
